<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  SG_EXPORT osg::Referenced</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  SG_EXPORT <A HREF="#DOC.DOCU">osg::Referenced</A></H2></H2><BLOCKQUOTE>Base class from providing referencing counted objects</BLOCKQUOTE>
<HR>

<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=365>
<param name=classes value="CReferenced,MReferenced.html,CStatistics,MStatistics.html,CState,MState.html,CObject,MObject.html,CNodeVisitor,MNodeVisitor.html,CNodeCallback,MNodeCallback.html,CLineSegment,MLineSegment.html,CImpostorSpriteManager,MImpostorSpriteManager.html,CFrameStamp,MFrameStamp.html,CDisplaySettings,MDisplaySettings.html,CCullingSet,MCullingSet.html,CCamera,MCamera.html">
<param name=before value="M,M|_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,MR_,Mr_">
<param name=after value="M,M,M,M,M,M,M,M,M,M,M,M">
<param name=indent value="0,0,0,0,0,0,0,0,0,0,0,0">
<param name=arrowdir value="down">
</APPLET>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.109.1">Referenced</A></B>()
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.109.2">Referenced</A></B>(const <!1><A HREF="Referenced.html#DOC.2.109.2">Referenced</A>&amp;)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   <!1><A HREF="Referenced.html">Referenced</A>&amp; <B><A HREF="#DOC.2.109.3">operator = </A></B>(<!1><A HREF="Referenced.html">Referenced</A>&amp;)
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.109.4">ref</A></B>() const 
<DD><I>increment the reference count by one, indicating that  this object has another pointer which is referencing it</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.109.5">unref</A></B>() const 
<DD><I>decrement the reference count by one, indicating that  a pointer to this object is referencing it.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   void <B><A HREF="#DOC.2.109.6">unref_nodelete</A></B>() const 
<DD><I>decrement the reference count by one, indicating that  a pointer to this object is referencing it.</I>
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline   const int <B><A HREF="#DOC.2.109.7">referenceCount</A></B>() const 
<DD><I>return the number pointers currently referencing this object.</I>
</DL></P>

<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>mutable int <B><A HREF="#DOC.2.109.9">_refCount</A></B>
</DL></P>

<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   <B><A HREF="#DOC.2.109.8">~Referenced</A></B>()
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Base class from providing referencing counted objects</BLOCKQUOTE>
<DL>

<A NAME="Referenced"></A>
<A NAME="DOC.2.109.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Referenced()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="Referenced"></A>
<A NAME="DOC.2.109.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> Referenced(const <!1><A HREF="Referenced.html#DOC.2.109.2">Referenced</A>&amp;)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="operator = "></A>
<A NAME="DOC.2.109.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   <!1><A HREF="Referenced.html">Referenced</A>&amp; operator = (<!1><A HREF="Referenced.html">Referenced</A>&amp;)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="ref"></A>
<A NAME="DOC.2.109.4"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void ref() const </B></TT>
<DD>increment the reference count by one, indicating that 
this object has another pointer which is referencing it
<DL><DT><DD></DL><P>
<A NAME="unref"></A>
<A NAME="DOC.2.109.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void unref() const </B></TT>
<DD>decrement the reference count by one, indicating that 
a pointer to this object is referencing it.  If the
reference count goes to zero, it is assumed that this object
is no longer referenced and is automatically deleted.
<DL><DT><DD></DL><P>
<A NAME="unref_nodelete"></A>
<A NAME="DOC.2.109.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   void unref_nodelete() const </B></TT>
<DD>decrement the reference count by one, indicating that 
a pointer to this object is referencing it.  However, do
not delete it, even if ref count goes to 0.  Warning, unref_nodelete() 
should only be called if the user knows exactly who will
be resonsible for, one should prefer unref() over unref_nodelete() 
as the later can lead to memory leaks.
<DL><DT><DD></DL><P>
<A NAME="referenceCount"></A>
<A NAME="DOC.2.109.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline   const int referenceCount() const </B></TT>
<DD>return the number pointers currently referencing this object. 
<DL><DT><DD></DL><P>
<A NAME="~Referenced"></A>
<A NAME="DOC.2.109.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   ~Referenced()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_refCount"></A>
<A NAME="DOC.2.109.9"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>mutable int _refCount</B></TT>
<DL><DT><DD></DL><P></DL>
<HR>
<DL><DT><B>Direct child classes:
</B><DD><A HREF="Statistics.html">Statistics</A><BR>
<A HREF="State.html">State</A><BR>
<A HREF="Object.html">Object</A><BR>
<A HREF="NodeVisitor.html">NodeVisitor</A><BR>
<A HREF="NodeCallback.html">NodeCallback</A><BR>
<A HREF="LineSegment.html">LineSegment</A><BR>
<A HREF="ImpostorSpriteManager.html">ImpostorSpriteManager</A><BR>
<A HREF="FrameStamp.html">FrameStamp</A><BR>
<A HREF="DisplaySettings.html">DisplaySettings</A><BR>
<A HREF="CullingSet.html">CullingSet</A><BR>
<A HREF="Camera.html">Camera</A><BR>
</DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
